<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

        // 内置的构造函数 Function ,所有的函数都是 Function 内置函数构造出来的
        // Function 也有原型  Function.prototype  这个原型是不是所有函数所共有的；
        // let fn = new Function();
        // Function.prototype.age = 20;
        // function test(){
        //     console.log('test');
        // }
        // console.log(test.age);
        // 万物皆对象

        // 之前写的MyForEach  我们是模仿 系统自带的forEach
        function MyForEach(arr,fn){
            for(let i=0;i<arr.length;i++){
                fn && fn(arr[i],i);
            }
        }
        // let arr = ["张三","李四","王五"];
        let arr = new Array("张三","李四","王五");
        // let arr = new Array();
        // 这样写之后是不是所有的数组都会有一个MyForEach方法
        Array.prototype.MyForEach = function(fn){
            console.log("fn111");
            // this
            for(let i=0;i<this.length;i++){
                fn && fn(this[i],i);
            }
        }
        arr.MyForEach(function(item,key){
            console.log(item,key);
        });
        // MyForEach(arr,function(item,key){
        //     console.log(item,key);
        // })
        // arr.forEach(function(item,key){
        //     console.log(item,key);
        // })


    </script>
</body>
</html>